package com.sample.ch4session.sec2cookie;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//http://localhost:8080/servlet-sample-start/cookieWrite.do
@WebServlet("/cookieWrite.do")
public class CookieWrite extends HttpServlet {
//Web应用程序会话管理的基本方式，就是此次请求中，将下一次请求时服务器应该知道的信息，先响应给浏览器
//浏览器在之后的下一次请求再一并发给应用程序，这样应用就可以得知多次请求的相关数据
// Cookie是浏览器存储信息的一种方式，服务器可以响应浏览器set-cookie标头
// 浏览器收到这个标头与数值后就会以文件形式存储在计算机上，这个文件就称为Cookie
// 可以给Cookie设置存活期限，如果仍在有效期，浏览器使用Cookie标头自动将Cookie发送给服务器
// Cookie默认关闭浏览器就失效
// 通过setMaxAge()方法设置有效期限，单位是秒。

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        String user = req.getParameter("user");
//        String password = req.getParameter("password");
        Cookie cookie = new Cookie("user","cat");
        cookie.setMaxAge(7*24*60*60);
        resp.addCookie(cookie);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
}
